System and method for processing wireless voice and data telecommunications

ABSTRACT

A system for processing data is provided. The system includes a data type detector that determines whether a data frame is a speech/voice data frame or a data/fax data frame. The system further includes a transcoder and rate adapter system that is connected to the data type detector. The data type detector transfers the data frame to the transcoder and rate adapter system if the data frame is a voice data frame. An interworking function system is also connected to the data type detector. The data type detector transfers the data frame to the interworking function system if the data frame is a data/fax data frame.

RELATED PATENT APPLICATIONS

The present patent application claims priority from the United Statesprovisional patent application designated with Ser. No. 60/071,149,entitled "Communication System Interworking Function," naming Shawn W.Vines as inventor, and which was filed on Jan. 12, 1998.

RELATED PATENT APPLICATIONS

The present patent application is related to the following patentapplications: (a) U.S. patent application Ser. No. 09/025,870,"Integrated Telecommunications System," DSC Case No. 834-00, namingScott D. Hoffpauir and Anthony G. Fletcher as inventors, commonly ownedand assigned with the present application and filed contemporaneouslywith this application; and (b) U.S. patent application Ser. No.08/678,254, now U.S. Pat. No. 5,835,486, "MultiChannel Transcoder RateAdapter Having Low Delay and Integral Echo Cancellation," naming JamesM. Davis and James D. Pruett as inventors, filed Jul. 11, 1996, commonlyowned and assigned with the present application.

FIELD OF THE INVENTION

The present invention relates generally to systems for switchingwireless telecommunications, and more particularly to a system andmethod for processing wireless voice and data telecommunications.

BACKGROUND

Telecommunications data may include speech/voice data that is analog ordigitally encoded. This speech/voice data may be decoded to generateaudio speech/voice signals. Telecommunications data may also includedata/fax data that is analog or digitally encoded. This data/fax datamay be decoded to yield data in a format that may be used by dataprocessing equipment, computers, facsimile equipment, or otherequipment. In general, speech/voice data and data/fax data that isdigitally-encoded must be processed in different manners bytelecommunications data processing system and components.

For example, speech/voice data that is compatible with the Global Systemfor Mobile Communications standards must receive transcoder and rateadaption processing after it has been received from the base stationtransceiver before it may be transmitted over the public switchedtelephone network. In a similar manner, data/fax data must receiveinterworking function processing before it may be transmitted over thepublic switched telephone network. Transcoder and rate adaptionprocessing is performed by different systems and components thaninterworking function processing.

Because different systems and components are used to perform transcoderand rate adaption processing and interworking function processing, it isnecessary to switch and transmit telecommunications data to one set ofcomponents for the first type of processing and to a second set ofcomponents for the second type of processing. At least one set of thesecomponents may be external to the telecommunications switch, whichresults in additional transmission and switching delays. Furthermore,because system capacity is typically limited by the switch and not bythe support equipment, additional systems and components are requiredfor performing transcoder and rate adaption processing and interworkingfunction processing than will typically be used at any given time.

SUMMARY OF THE INVENTION

Therefore, a need has arisen for a system and method for processingspeech/voice telecommunications data and data/fax telecommunicationsdata that does not require the telecommunications data to be processedby different system(s) and component(s).

In accordance with the present invention, a system and method forprocessing telecommunications data are provided that substantiallyeliminate or reduce disadvantages and problems associated withpreviously developed systems and methods.

One aspect of the present invention is a system for processing data isprovided. The system includes a data type detector that determineswhether a data frame is a speech/voice data frame or a data/fax dataframe. The system further includes a transcoder and rate adapter systemthat is connected to the data type detector. The data type detectortransfers the data frame to the transcoder and rate adapter system ifthe data frame is a voice data frame. An interworking function system isalso connected to the data type detector. The data type detectortransfers the data frame to the interworking function system if the dataframe is a data/fax data frame.

The present invention provides many important technical advantages. Oneimportant technical advantage of the present invention is system thatallows transcoder and rate adaption processing and interworking functionprocessing to be performed by the same system(s) or component(s) . Thesystem of the present invention thus simplifies the processing oftelecommunications data that may be either speech/voice data.:ordata/fax data by allowing that telecommunications data to be processedby the same system(s) or component(s).

Another important technical advantage of the present invention is amethod for processing telecommunications data that allows bothspeech/voice data and data/fax data to be processed by the samesystem(s) and component(s). The method of the present invention thusallows the same system(s) or component(s) to perform transcoder and rateadaption processing or interworking function processing ontelecommunications data.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and theadvantages thereof, reference is now made to the following descriptiontaken in conjunction with the accompanying drawings, wherein likereference numerals represent like parts, in which:

FIG. 1 is a block diagram of a system for processing wireless voice anddata communications embodying concepts of the present invention;

FIG. 2 is a block diagram of a system for processing wireless voice anddata communications in accordance with teachings of the presentinvention;

FIG. 3 is a block diagram of a system for processing wireless voice anddata communications in accordance with concepts of the presentinvention;

FIG. 4 is a diagram of a wireless telecommunications system embodyingconcepts of the present invention;

FIG. 5 is a flow chart of a method for processing wireless voice anddata communications in accordance with one embodiment of the presentinvention;

FIG. 6 is a flow chart of a method for processing telecommunicationsdata in a Global System for Mobile Communications data format, inaccordance with teachings of the present invention; and

FIG. 7 is a flow chart of a method for performing data/fax dataprocessing in a telecommunications data processing system that includesspeech/voice data processing capability and data/fax data processingcapability.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system 100 for processing wireless voiceand data communications embodying concepts of the present invention.System 100 includes digital signal processor 102, air side data path104, and land line date path 106. In addition, system 100 may alsoinclude random access memory 108 and read-only memory 110, each of whichare coupled to digital signal processor 102.

Digital signal processor 102 is an integrated circuit containing dataprocessing components, data storage components, and other suitableintegrated circuit devices. For example, digital signal processor 102may be an Analog Devices 2106X digital signal processor integratedcircuit, or other suitable digital signal processor integrated circuits.Digital signal processor 102 may include sufficient random access memoryand read-only memory for all data processing applications or may utilizediscrete components that are coupled to digital signal processor 102through suitable connections.

Air side data channel 104 is a digital data conductor, such as a databus, coaxial cable, fiber optic cable or other suitable conductors. Airside data channel 104 carries digitally encoded telecommunications datafrom a wireless system to digital signal processor 102. For example, airside data channel 104 may be coupled to a mobile station controller thatis further coupled to a base station having an antenna. Wireless datacommunications are conducted to digital signal processor 102 through thebase station and mobile station controller to air side data conductor104. Other suitable configurations may be used. Air side data conductor104 may be used to transfer data simultaneously from and to digitalsignal processor 102, or may alternatively be used in a single directionmode such that data may be either transmitted to or transmitted fromdigital signal processor 102 at any moment.

Land line data channel 106 is a suitable data conductor for transferringtelecommunications data from digital signal processor 102 to a switchednetwork. For example, land line data channel 106 may transfer data fromdigital signal processor 102 to a mobile station controller, a publicswitched telecommunications network, and ultimately to a terminaldevice. Other suitable configurations may be used.

Random access memory 108 is a digital data memory device that may beused to controllably store and retrieve digital data. If digital signalprocessor 102 contains sufficient random access memory, the discreterandom access memory unit 108 is not required. Random access memory unit108 may be used to store operational programs, operational data, realtime data for processing by digital signal processor 102, or othersuitable telecommunications data and system support and operations data.

Read-only memory 110 is a suitable digital data memory device that isused to store semi-stable data. For example, read-only memory 110 may beused to store programming that is downloaded onto digital signalprocessor 102 to implement systems operating on digital signal processor102. Detector system 114, transcoder and rate adapter system 116, andinterworking function system 118 may be software implemented systemsthat use programming stored on read-only memory. 110 to be implementedby digital signal processor 102.

Digital signal processor 102 includes input system 112, detector system114, transcoder and rate adapter system 116, interworking functionsystem 118, and output system 120, which are systems operating ondigital systems processor. These systems may comprise hardware,software, or a suitable combination of hardware and software, and may bediscrete systems or subsystem components of a single unified system.

In operation, telecommunications data is received from air side dataconductor 104 or landline data conductor 106 at digital signal processor102. Digital signal processor 102 determines whether thetelecommunications data comprises speech/voice data, such as telephonicconversations, data converted into a digital data format, or data/faxdata, such as facsimile data, computer-usable data from a processor orother computer equipment, or other similar data. This determination ismade by detector system 114. If the telecommunications data isdetermined to be voice telecommunications data, detector system 114transfers the data to transcoder and rate adapter system 116, where itis converted to data having an appropriate format and a suitable datatransmission rate. For example, transcoder and rate adapter system 116may convert data from a Global System for Mobile Communication dataformat at a frequency of 16 kilobits per second, into a pulse codemodulation data format at a frequency of 64 kilobits per second.

Alternatively, if the telecommunications data is determined to bedata/fax data, detector system 114 transfers the data to interworkingfunction system 118. Interworking function system 118 converts the datatransmission rate and format to a data transmission rate and format of areceiving terminal device. The type of conversion to be done isdependent not only on the detector system but on the IWF configurationsystem 130 which provides the IWF information necessary to perform theconversion between the transmitting terminal device and the receivingterminal device. For example, at call setup, configuration informationis sent to the IWF messaging system which communicates with the mobilestation controller. This information would be provided to the IWFconfiguration system 130 which would then configure the IWF system 114.

The information communicated to the IWF configuration system 130 may be,for example, a Local Communication (LCOM) protocol. An example of anLCOM protocol is provided and described by U.S. patent application (ref.24194000.193), which is hereby expressly incorporated by reference forall purposes. The LCOM message header may have the following exemplaryformat:

    ______________________________________                                        LCOM Header                                                                   ______________________________________                                        Slot ID       Process ID    Length                                            ______________________________________                                    

Slot ID is defined as the SPM board value associated with theappropriate DSP containing the IWF system. Process ID is defined as theSPM Process associated with the appropriate DSP containing the IWFsystem. Length is the total length in bytes of the entire message

The body of the IWF configuration message may contain the following datafields:

    ______________________________________                                        Connection Element:                                                                          Transparent/Non-Transparent                                                   represented by integer values                                  Data Compresion Allowed:                                                                     True / False represented by                                                   integer values                                                 Origination/Termination:                                                                     Origination/Termination                                                       represented by integer values                                  Air Baud Rate: List of allowable baud rates                                                  represented by integer values                                  Connection Type:                                                                             UDI/3.1 KHz represented by                                                    integer values                                                 Modulation Protocol:                                                                         Fax / V.34 represented by                                                     integer values                                                 Network Baud Rate:                                                                           List of allowable baud rates                                                  represented by integer values                                  Intermediate Rate:                                                                           8 KHz / 16 KHz represented by                                                 integer values                                                 Sync Type:     Synchronous / Non-synchronous                                                 represented by integer values                                  Data Bits:     8 bits per byte / 7 bits per                                                  byte represented by integer values                             Parity:        Odd/Even/None/Forced to Zero/                                                 Forced to One represented by                                                  integer values                                                 Stop Bits:     2/1 represented by integer                                                    values                                                         ______________________________________                                    

As shown in FIG. 1, digital signal processor 102 may receive data froman air side terminal device or a landline terminal device.. For example,a user of a wireless mobile communications system may place a telephonecall to a wire line terminal device through the public switchedtelephone network. Digital signal processor 102 may be used to convertthe telecommunications data into a format or transmission speed usableby the wireline terminal device. Also or alternatively, digital signalprocessor 102 may be used to convert voice/speech data or data/fax datacommunications from a wireline terminal device into a data format ordata transmission rate suitable for use with a wireless terminal deviceaccessible via air side telecommunications channel 104.

FIG. 2 is a block diagram of a system 200 for processing wireless voiceand data communications in accordance with teachings of the presentinvention. System 200 includes platform 202, which may be implemented inhardware, software, or a suitable combination of hardware and software.For example, platform 202 may be a digital signal processor integratedcircuit, a general purpose computer, an application-specific integratedcircuit, a field programmable gate array, or other suitable devices.System 200 also includes wireless input channel 204, wireless outputchannel 206, switched network input channel 208, and switched networkoutput channel 210.

Platform 202 further comprises data type detector system 212, which iscoupled to transcoder and rate adapter system 214 and interworkingfunction system 216. Telecommunications data received from wirelessinput channel 204 and switched network input channel 208 is processed bydata type detector system 212 to determine whether it is speech/voicetype data or data/fax type data. If the telecommunications data isspeech/voice type data, it is transferred to transcoder and rateadaption system 214. If the telecommunications data is data/fax typedata, it is transferred to interworking function system 216. Thetelecommunications data is then processed by the corresponding systemand transferred to wireless output channel 206 or switched networkoutput channel 210, as suitable.

Data type detector system 212 may comprise hardware, software, or asuitable combination of hardware and software. For example, data typedetector system 212 may comprise one or more software systems operatingon a digital signal processor integrated circuit, general purposecomputing platform, application-specific integrated circuit, or othersuitable processing platforms. Also or alternatively, data type detectorsystem 212 may be realized partially or completely by an applicationspecific integrated circuit, field programmable gate array, or othersuitable devices. Data type detector system 212 is operable to determinewhether data is encoded speech/voice data or data/fax data, such as bycomparing the value stored in a predetermined data field to a table ofallowable data values, by analyzing the structure of the data, or byother suitable means. Data type detector system 212 is further operableto transfer the data to a suitable system for subsequent processing,such as transcoder and rate adaption system 214 if the data isspeech/voice data, or interworking function system 216 if the data isdata/fax data.

Transcoder and rate adaption system 214 may comprise hardware, software,or a suitable combination of hardware and software. For example,transcoder and rate adaption system 214 may comprise one or moresoftware systems operating on a digital signal processor integratedcircuit, general purpose computing platform, application specificintegrated circuit, or other suitable processing platforms. Also oralternatively, transcoder and rate adaption system 214 may be realizedpartially or completely by an application specific integrated circuit,field programmable gate array, or other suitable devices. Transcoder andrate adaption system 214 is operable to encode telecommunications datafrom a first data format to a second data format, and to decode thetelecommunications data from the second data format to the first dataformat. Transcoder and rate adaption system 214 is further operable tochange the data transmission rate of the telecommunications data from afirst rate to a second rate, and from the second rate to the first rate.

Interworking function system 216 may comprise hardware, software, or asuitable combination of hardware and software. For example, interworkingfunction system 216 may comprise one or more software systems operatingon a digital signal processor integrated circuit, general purposecomputing platform, application-specific integrated circuit, or othersuitable processing platforms. Also or alternatively, interworkingfunction system 216 may be realized partially or completely by anapplication specific integrated circuit, field programmable gate array,or other suitable devices. Interworking function system 216 is operableto interface with a terminal device to determine a data transmissionrate, to adjust the data transmission rate of data to match that datatransmission rate, and to transfer the telecommunications data at thatdata transmission rate.

Wireless input data channel 204 and wireless output data channel 206 arewireless system data input and output channels. For example, wirelessinput data channel 204 and wireless output data channel 206 may comprisedigitally-encoded data in a suitable format, such as Global System forMobile Communications standard format that is received over a copperconductor at a transmission frequency of 16 kilobits per second. Othersuitable data formats, transmission media, and transmission rates may beused.

Switched network input data channel 208 and switched network output datachannel 210 are wireless system data input and output channels. Forexample, switched network input data channel 208 and switched networkoutput data channel 210 may comprise digitally-encoded data in asuitable format, such as a pulse code modulation standard data formatthat is received over a copper conductor at a transmission frequency of64 kilobits per second. Other suitable data formats, transmission media,and transmission rates may be used. Switched network input data channel208 and output data channel 210 may interface with the public switchedtelephone network, the public land mobile network, or another suitableswitched network.

In operation, data type detector system 212 receives telecommunicationsdata from wireless input channel 204 or switched network input channel208, and determines whether the data is voice/speech data or data/faxdata. For example, data type detector system 212 may receive a GSM dataframe in which bits C1 through C5 include frame data type identifiers.For example, GSM 08.60 version 5.1.0 identifies data bits C1 through C5for speech data as 00010 or 11010 for the uplink and 11100 or 11010 forthe downlink, and for data frames, bits C1 through C5 are 01000 for theuplink and 10110 for the downlink. Other data frame identificationcodings may be used where suitable. Data type detector system 212transmits the data frames to transcoder and rate adapter system 214 ifthe data frames contain voice/speech data, and transfers the data tointerworking function system 216 if the data contains data/fax data.Data received over wireless input channel 204 is transmitted to switchednetwork output channel 210. Likewise, data received over switchednetwork input channel 208 will be transmitted to wireless output channel206 after appropriate conversion.

FIG. 3 is a block diagram of a system 300 for processing wireless voiceand data communications in accordance with concepts of the presentinvention. System 300 includes data frame detector system 302, which iscoupled to transcoder and rate adaption system 304 and interworkingfunction system 306. System 300 may be implemented in hardware,software, or a suitable combination of hardware and software.

Data frame detector system 302 is coupled to input channel 318 and errordetection system 308. Telecommunications data is received over inputchannel 318 and is analyzed by data frame detector system 302 todetermine whether the data is encoded speech/voice data or data/faxdata. For example, data frame detector system 302 may detectpredetermined bits in a data frame and compare them with stored valuesthat identify the data frame as either speech/voice data or data/faxdata. Data frame detector system 302 then transfers the data totranscoder and rate adapter system 304 if the data is speech data, ortransfers the data to interworking function system 306 if the data isdata/fax data. Alternatively, data frame detector system 302 may useanother criterion or other criteria to determine whether the data isspeech/voice data or data/fax data, including but not limited to patternrecognition, header data for asynchronous transfer mode variable lengthdata packets, or other suitable methods or systems.

Error detection system 308 is used in conjunction with data framedetector system 302 to determine if the data transmission type receivedover input channel 318 has improperly changed. For a giventelecommunications channel, a change between speech/voice data anddata/fax data might only be allowed after certain call setup, signaling,or control processes have been performed. For example, it may benecessary to verify that the receiving end terminal device is capable ofprocessing data/fax data before transmission of data/fax data will beallowed. Error detection system 308 is used to detect when a change ismade from a first type of data, such as speech/voice data or data/faxdata, to another type of data on two successive frames.

For example, in a speech/voice data channel, one frame of data may becorrupted and may indicate that it is data/fax data or an unknown datatype. Error detection system 308 is used to prevent this data frame frominadvertently being encoded and processed as data/fax data, thuspreventing inadvertent transmission of data/fax data over a speech/voicedata channel.

Transcoder and rate adaption system 304 is coupled to coder/decodersystem 310 and rate adaption system 312. Coder/decoder system 310 andrate adaption system 312 may be implemented in hardware, software, or asuitable combination of hardware and software. Coder/decoder system 310is used to transform data from a first format to a second format, andfrom the second format back into the first format. For example, ifsystem 300 is used in a wireless communications system that utilizes theGlobal System for Mobile Communications standard format that interfaceswith the public switched telephone network, then coder/decoder system310 would be used to transfer data between a GSM data frame of fullservice, enhanced full rate, or half-rate speech and a pulse codemodulation data frame format. Other suitable data formats may beconverted by coder/decoder system 310.

Rate adaption system 312 is used to adjust the data transmission rate ofdata received by transcoder and rate adapter system 312. For example, ina wireless telecommunications system that utilizes the Global System forMobile Communications standard data format, data is transmitted overwireless telecommunication channels at 16 kilobits per second, but isconverted by data compression and decompression algorithms into pulsecode modulated data at a data transmission rate of 64 kilobits persecond. Rate adaption system 312 performs the conversion between the 16kilobit per second data transmission rate and the 64 kilobit per seconddata transmission rate. Rate adaption system 312 may also be used toconvert from the 64 kilobit per second rate to the 16 kilobit per secondtransmission rate, or between any other suitable data transmissionrates. Rate adaption system 312 and coder/decoder system 310 may beseparate functional aspects of a single conversion system.

Interworking function system 306 is coupled to rate adaption system 314.Interworking function system 306 is used to set up and transmit dataover data/fax channels to terminal devices that are configured toprocess data/fax data. Rate adaption system 314 is used to adjust thedata transmission rate of data received by interworking function system306, in a manner similar to that used by rate adaption system 312.

In operation, telecommunications data is received over input channel318. Data frame detector system 302 determines whether thetelecommunications data is voice/speech data or data/fax data, andtransmits the data to transcoder and rate adaption system 304 if thedata is voice/speech data, or interworking function system 306 if thedata is data/fax data. Error detection system 308 is used to determineif the data type improperly changes in the middle of a call.Coder/decoder system 310 and rate adaption system 312 are used bytranscoder and rate adaption system 304 to convert the voice/speech datafrom an air data format to a landline data format and from an air datatransmission rate to a landline data transmission rate. Rate adaptionsystem 314 is used by interworking function system 306 to determine thedata/fax data transmission rate of the receiving end terminal device andto adjust the data transmission rate to the data transmission rate. Thedata is then transmitted from either transcoder and rate adaption system304 to output channel 320, or from interworking function system 306 tooutput channel 320.

FIG. 4 is a diagram of a wireless telecommunications system 400embodying concepts of the present invention. Wireless telecommunicationssystem may be used to control the transmission of voice/speech data ordata/fax data from a wireless terminal device to a terminal deviceaccessed through a switched network.

Wireless telecommunication system 400 includes mobile stationcontrollers 402 and 402', base stations 408 and 408', and terminaldevices 410 and 410'. Each mobile station controller 402 and 402'includes a transcoder and rate adaption system, 404 and 404',respectively, and an interworking function system, 406 and 406',respectively. The mobile switching centers 402 and 402' are each coupledto the public switched telephone network 422.

A user of terminal device 410 may transmit telecommunications data fromtransmit antennae 414 to receive antennae 416 of base station 408. Thisdata may include voice/speech data or data/fax data generated by faxdevice 418. If the user of terminal device 410 transmits voice/speechdata to the public switched telephone network 422, mobile stationcontroller 402 processes the data with transcoder and rate adaptionsystem 404 to convert the voice/speech data from a GSM standard formatat 16 kilobits per second to a pulse code modulation format at 64kilobits per second. Suitable standard or customized wireless andwireline data formats may be used, including but not limited to a T1standard format, an E0 or E1 standard format, a DS0 or DS1 standardformat, digital Advanced Mobil Phone Service, Personal CommunicationsService, or other suitable digital telecommunications standards.Alternatively, if the user seeks to transmit data/fax data, such as byusing a fax device 418, mobile station controller 402 uses interworkingfunction system 406 to convert the data to an appropriate datatransmission format for use by remote fax device 420.

FIG. 5 is a flow chart of a method 500 for processing wireless voice anddata communications in accordance with one embodiment of the presentinvention. Method 500 may be used in conjunction with a single digitalsignal processor integrated circuit, an application specific integratedcircuit, a field programmable gate array, or other suitable platforms.

Method 500 begins at step 502 where telecommunications data is received.At step 504, it is determined whether the telecommunications dataincludes speech or voice/speech data, or data/fax data. If thetelecommunications data comprises speech or voice/speech data, themethod proceeds to step 506. If the telecommunications data comprisesdata/fax data, the method proceeds to step 512.

At step 506, the format of the data is changed from a first format to asecond format. For example, the data is received from a public switchedtelecommunications network and is to be transmitted to a wirelessterminal device, the format of the data may be changed from a wirelineformat pulse code modulated format to a wireless code division multipleaccess format or Global System for Mobile Telecommunications format.Alternatively, if the data is received from a wireless terminal deviceand is to be transmitted over a switched network, such as the publicswitched telephone network, the data may be transformed from a wirelessdata format to a wireline data format.

The method then proceeds to step 510 where the data is transmitted at apredetermined rate. For example, if the data is received from the publicswitched telephone network and is to be transmitted over a wirelessnetwork, the data may be transformed from a first standardized rate forthe public switched telephone network to a second standardized rate forthe wireless network. Alternatively, if the data is received from awireless network and is to be transmitted over a wireline network, thedata may be transformed from a standardized rate for the wirelessnetwork to a standardized rate for the wireline network. The method thenproceeds to step 518.

If it is determined at step 504 that the data is data/fax data, themethod proceeds to step 512 where the data transmission rate isdetermined. For example, the data transmission rate may be embedded inthe received data, may be a standardized data transmission rate, or maybe determined through other suitable systems and methods. The methodthen proceeds to step 516 where the data is transmitted at the datatransmission rate determined in step 512. The method then proceeds tostep 518.

At step 518, the next group of data is received. For example, the datamay comprise frames of fixed lengths, such that the next group of datais the next data frame. Alternatively, the data may comprise frames ofvarying lengths, or alternating frames of data, so that the next data isan intermittent data frame that is addressed to a particulartelecommunications channel. The data may also comprise modulated digitaldata, such as pulse code modulated digital data, such that the next datamay be a grouping of interspersed bits of data in a serial or paralleldata stream. The method then proceeds to step 520.

At step 520 it is determined whether there has been a change in the datatype. For example, if the first set of data received is determined to bevoice/speech data, it is determined at step 520 whether there has been achange to data/fax data. For example, this change may be any change froma first data type to a second data type and two successive groups ofdata. Alternatively, alternating groups of data types may be acceptablesuch that the determination of an improper data type change requires asecondary data source to be cross-referenced, such as a table indicatingallowable data types for a given data block or telecommunicationschannel. If the data type change is determined to be unacceptable, themethod proceeds to step 522.

At step 522, an error signal is generated. For example, the error signalmay comprise data that causes retransmission of a data group to berequested. Alternatively, the error signal may comprise a signal that isused in conjunction with other indicators to determine whethertelecommunications channel data transmission process has been corruptedand should be terminated. Also, the error signal may comprise a signalthat is used in conjunction with other indicators to determine whetherthe data contained within that frame is invalid, causing the frame datato be overwritten with some predetermined pattern or idle pattern. Themethod then proceeds to step 524 and ends.

If it is determined at step 520 that no improper data type changesoccurred, the method proceeds to step 526 where the next group of datais processed. For example, if the next group of data is data/fax data,the method returns to step 512. Alternatively, if the next group of datais voice/speech data, the method proceeds to step 506.

In operation, method 500 is used to process telecommunications data thatmay be of two or more different types, such as voice/speech data,data/fax data, operations data, control data, computer data, or otherdata types. Method 500 is used to determine the suitable data type andto then process the data according to its data type. Method 500 isconfigured for optimal use on a single platform, such as a digitalsignal processing integrated circuit, an application specific integratedcircuit, or other suitable circuits. In particular, method 500 isadapted for use with a wireless telecommunications system where it maybe necessary to convert from data formats and data transmission ratesdepending upon the type of data being transmitted, such as voice/speechdata, fax data, computer data, or other suitable data types.

FIG. 6 is a flow chart of a method 600 for processing telecommunicationsdata in a Global System for Mobile Communications data format, inaccordance with teachings of the present invention. Method 600 may beused in conjunction with a mobile switching center, a base stationcontroller, or other suitable components of a wirelesstelecommunications system that handles data in a Global System forMobile Communications (GSM) standard data format.

Method 600 begins at step 602 where a GSM data frame is received. Themethod then proceeds to step 604, where the frame type bits C1 throughC5 are checked against a table or data to determine whether they containvoice/speech data, data/fax data, or other suitable data types. Forexample, the data may also contain an idle speech frame, an extendeddata frame, an operation and maintenance data frame, or other frame typebits. A predetermined method may be used to determine how these otherframe type bits should be processed.

If frame type bits C1 through C5 indicate that the data is voice/speechdata, the method proceeds to step 606. At step 606, the voice/speechdata frame is transmitted to a transcoder and rate adaption system. Themethod then proceeds to step 608 where the format of the GSM data frameis changed to a pulse code modulation data format. For example, the GSMdata frame comprises data in a compressed data transmission format suchthat the data may be transmitted at a rate of 16 kilobits per second.This data format is converted from the GSM data format to a pulse codemodulation data format having a higher data transmission rate at step608. The method then proceeds to step 610.

At step 610, the data transmission rate is changed from the 16 kilobitsper second data transmission rate of the GSM standard format to 64kilobits per second. This change in data transmission rate may beperformed as an adjunct to the change in format of data from GSM topulse code modulation data. The method then proceeds to step 612 wherethe data is transmitted at 64 kilobits per second in the pulse codemodulation data format.

If it is determined at step 604 that frame type bits C1 through C5comprise data/fax data, the method proceeds to step 614 where the dataframe is transferred to an interworking function system. The method thenproceeds to step 616, where rate detection is performed, such as bydetecting the number V.110 frames in each GSM frame. This detection isaccomplished using the bit C6 within the GSM frame. If C6 is one, thenthe GSM frame contains 4 V.110 frames. If C6 is zero, then the GSM framecontains 2 V.110 frames. At step 620, the data is transmitted after rateadjustment, fax adaptation, modem emulation, and other suitableprocesses and methods are performed. The method then proceeds to step622.

At step 622, the next frame of data is received. The method thenproceeds to step 624 where it is determined whether there has been animproper change in value type of the C1 to C5 frame type bits. If therehas been an improper change in frame type, the method proceeds to step626 where an error signal is generated. The method then ends at step628. Alternatively, if the change in value of the C1 to C5 frame typebits is not improper, such as if the frame type is of the same frametype as the preceding frame, then the method proceeds to step 630 andcontinues with processing of the new data frame. Also or alternatively,alternating frames of data may be allowed such that each voice type dataframe is followed by a data/fax type data frame, or a data/fax type dataframe may be followed by an operation and maintenance type data frame oran extended data/fax type data frame. In each case, the method proceedsto step 630.

In operation, method 600 is used to process telecommunications data in aGlobal System for Mobile Communications standard format wirelesstelecommunications system. Method 600 is optimized for use with a singlecircuit device of the mobile switching center, such as a digital signalprocessor integrated circuit, an application specific integratedcircuit, a general computing platform, or other suitable data processingdevices. In this manner, a telecommunications channel may be used totransmit voice/speech data or data/fax data without requiring thattelecommunications channel to be routed to either a transcoder and rateadapter system operating on one device, or an interworking functionoperating on a different device. This process optimizes the use ofprocessor resources, as a single processor may be used to perform bothtranscoder and rate adaption system functions and interworking functionsystem functions.

FIG. 7 is a flow chart of a method 700 for performing data/fax dataprocessing in a telecommunications data processing system that includesspeech/voice data processing capability and data/fax data processingcapability. Method 700 may be implemented in software, hardware, or asuitable combination of hardware and software.

Method 700 begins at step 702, where a Global System for MobileCommunications frame detector system receives a frame have a suitabledata format, and synchronizes the frame to the system clock. Forexample, the frame may first be received and stored in a buffer, andthen may next be transferred from the buffer in synchronism with thesystem clock. The method then proceeds to step 704, where a frame typedetector determines the type of data that is stored in the frame. Forexample, the frame may contain speech/voice data, data/fax data,operational data, administrational data, maintenance data, provisioningdata, or other suitable data.

If it is determined at step 704 that the frame contains speech data orthat the frame is an idle speech data frame, the method proceeds to step706, where speech processing is performed on the data. If it isdetermined at step 704 that the frame contains operational data,administrational data, maintenance data, or provisioning data, themethod proceeds to step 708. The methods by which this type of data maybe processed vary, and may be based upon a publicly known standards orproprietary data. Thus, this information may be passed to a subsystemspecifically designed to handle this type of data. If it is determinedat step 704 that the frame contains data/fax data, then the methodproceeds to step 710.

At step 710, data in a V.110 standard data format is extracted from theGlobal System for Mobile Communications data frame. The method thenproceeds to step 712, where rate detection is performed on the data,such as by determining the number of V.110 frames containing data ineach Global System for Mobile Communications frame. For example, if allfour V.110 frames are being used, then the data transmission rate is9,600 bits per second for V.110 frames that have been formatted fortransmission in accordance with the Global System for MobileCommunications. If only two of the four V.110 frames are being used,then the data transmission rate is up to 4,800 bits per second. Themethod then proceeds to step 714.

At step 714, the frames of V.110 data are processed with a V.110 framedetector, such as to separate the payload data from the overhead data.The payload data is then extracted at step 716 and is buffered. At step718, it is determined what type of data has been carried by the V.110data frame, such as by processing the overhead data. If the data issynchronous transparent facsimile data, then the method proceeds to step720, whereas if the data is asynchronous non-transparent data, themethod proceeds to step 728. In addition, the method may be adapted tohandle asynchronous non-transparent facsimile data and synchronousnon-transparent facsimile data.

At step 720, RA1 rate adaption processing is performed on thesynchronous transparent facsimile data to remove the "S" bits, "X" bits,and "E" bits from the V.110 data frame. The method then proceeds to step720, where RA0 rate adaption processing is performed on the synchronoustransparent facsimile data. Facsimile adaptation function processing isthen performed at step 724, and T.30 and T.4 messages are processed.Modem emulation control data, such as for controlling the operation of adigital signal processing integrated circuit, is developed and processedat step 726 to control the modem for transmission of the synchronoustransparent facsimile data. The method then proceeds to step 732, wherethe processed telecommunications data is then transmitted.

If it is determined at step 718 that the data type is asynchronousnon-transparent data, then the method proceeds to step 728. At step 728,radio link protocol frame extraction is performed. The E2 and E3 bitscontained within the V.110 frames are examined to find the correct FrameSequence Indicator sequence for 4 V.110 frames. The sequence is thefirst frame should have values of (0,0) for E2 and E3. The second frameshould have (0,1), the third (1,0), and the fourth (1,1). Once fourframes have been identified with the correct frame sequence indicatorsequence, 60 predetermined bits are removed from each frames, and areassembled to form a 240 bit RLP frame. At step 730, radio link protocolprocessing is performed on the asynchronous nontransparent data in orderto make the data non-transparent and ensure confirmation. The methodthen proceeds to step 732, where it is determined whether thetelecommunications data is payload or non-payload data. If thetelecommunications data is payload data, the method proceeds to step734, where the payload data is transmitted to L2R relay function. Thepayload data is then transmitted to a modulation system at step 736,where the payload data is converted to a specific analog modem format,such as the V.32 format, so that the payload data may be transmittedover the public switched telephone network. The modulation may also oralternately comprise protocol functions, such as LAPM, X.25, or datacompression. The data is then transmitted at step 738. If thetelecommunications data is non-payload data, the method proceeds to step740, where an RLP control entity is used to process the non-payloaddata.

In operation, method 700 is used to receive data that is in GlobalSystem for Mobile Communications standard data format frames, and toconvert the data to a format that is amenable to standardmodulation/demodulation processing for the transmission of digital dataover the public switched telephoned network. If the data is speech/voicedata, operational data, administration data, management data,provisioning data, or other suitable data, method 700 transfers the datato a suitable processing method. If the data is data/fax data, inparticular, synchronous transparent facsimile data or asynchronousnon-transparent data, then method 700 performs rate detection, rateadaption processing, and other necessary processing.

Although several embodiments of the present invention and its advantageshave been described in detail, it should be understood that changes,substitutions, transformations, modifications, variations, andalterations may be made therein without departing from the teachings ofthe present invention, the spirit and the scope of the invention beingset forth by the appended claims.

What is claimed is:
 1. A system for processing data, comprising:a datatype detector operable to determine whether a data frame is a voice dataframe or a data/fax data frame; a transcoder and rate adapter systemcoupled to the data type detector, wherein the data type detector isoperable to transfer the data frame to the transcoder and rate adaptersystem if the data frame is a voice data frame; and an interworkingfunction system coupled to the data type detector, wherein the data typedetector is operable to transfer the data frame to the interworkingfunction system if the data frame is a data/fax data frame.
 2. Thesystem of claim 1 further comprising an error detection system coupledto the data type detector, the error detection system operable togenerate an error signal if a data type field of a present data frame isdifferent from a data type field of a previous data frame.
 3. The systemof claim 1 wherein the interworking function further comprises a rateadaption system, the rate adaption system operable to receive a datatransmission rate and to transmit the data/fax data at the datatransmission rate.
 4. The system of claim 1 wherein the data typedetector, the transcoder and rate adapter system, and the interworkingfunction system are software systems that are programmed on a digitalsignal processor integrated circuit chip.
 5. The system of claim 1wherein the data type detector, the transcoder and rate adapter system,and the interworking function system are software systems that areprogrammed on a digital signal processor integrated circuit chip, thedigital signal processor integrated circuit chip further comprising:aninput connected to at least one multiple channel input line; and anoutput connected to at least one multiple channel output line.
 6. Thesystem of claim 1 wherein the transcoder and rate adapter system furthercomprises a coder/decoder system operable to convert data from a firstdata format to a second data format in a first mode of operation, and toconvert data from the second data format to the first data format in asecond mode of operation.
 7. The system of claim 1 wherein thetranscoder and rate adapter system further comprises a rate adaptionsystem coupled to the coder/decoder system, the rate adaption systemoperable to receive data at a first data transmission rate and totransmit the data at a second data transmission rate, and to receivedata at the second data transmission rate and to transmit the data atthe first data transmission rate.
 8. The system of claim 1 wherein thetranscoder and rate adapter system further comprises:a coder/decodersystem operable to convert data from a first data format to a seconddata format in a first mode of operation, and to convert data from thesecond data format to the first data format in a second mode ofoperation; and a rate adaption system coupled to the coder/decodersystem, the rate adaption system operable to receive data at a firstdata transmission rate and to transmit the data at a second datatransmission rate, and to receive data at the second data transmissionrate and to transmit the data at the first data transmission rate. 9.The system of claim 8 wherein the first data format is a public switchedtelephone network data format and the second data format is a GlobalSystem for Mobile Communications data format.
 10. A method forprocessing data comprising:receiving a frame of data; determiningwhether the data frame contains voice data or data/fax data;transmitting the frame of data to a transcoder and rate adaption systemif the data frame contains voice data; and transmitting the frame ofdata to an interworking function system if the data frame containsdata/fax data.
 11. The method of claim 10 further comprising:determiningwhether the data type contained in the present data frame is differentfrom the data type contained in the previous data frame; and generatingan error signal if the data type contained in the present data frame isdifferent from the data type contained in the previous data frame. 12.The method of claim 10 further comprising:determining a transmissionrate if the data frame contains data/fax data; and transmitting the dataframe from the interworking function system at the transmission rate.13. The method of claim 10 further comprising:transmitting atransmission rate query to a terminal device if the data frame containsdata/fax data; receiving a transmission rate from the terminal device inresponse to the transmission rate query; and transmitting the data framefrom the interworking function system at the transmission rate.
 14. Themethod of claim 10 wherein transmitting the frame of data to thetranscoder and rate adaption system further comprises:changing the dataformat of the data from a first data format to a second data format; andchanging the data transmission rate of the data from a first datatransmission rate to a second data transmission rate.
 15. The method ofclaim 14 wherein the first format is the format for the Global Systemfor Mobile Communications, and the second format is a pulse codemodulation format.
 16. The method of claim 14 wherein the first datatransmission rate is 16 kilobits per second and the second datatransmission rate is 64 kilobits per second.
 17. A method for processingtelecommunications data comprising:receiving data from a terminaldevice; determining whether the data is voice data or data/fax data;encoding the data for transmission over a network and adjusting the datatransmission rate for transmission over the network if the data is voicedata; and adjusting the transmission rate of the data if the data isdata/fax data.
 18. The method of claim 17 wherein receiving data from aterminal device further comprises receiving data from a terminal devicein a Global System for Mobile Communications data format.
 19. The methodof claim 17 wherein determining whether the data is voice data ordata/fax data comprises comparing the value of a data field in a dataframe to predetermined data values for voice data and data/fax data. 20.The method of claim 17 wherein encoding the data for transmission over anetwork if the data is voice data comprises encoding the data as pulsecode modulation data.
 21. The method of claim 17 wherein adjusting thedata transmission rate for transmission over the network if the data isvoice data comprises adjusting the data transmission rate to 64 kilobitsper second.
 22. The method of claim 17 wherein adjusting thetransmission rate of the data if the data is data/fax datacomprises:determining the data reception rate of another terminaldevice; and adjusting the transmission rate of the data to match thedata reception rate of the other terminal device.